home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-19 | 40.3 KB | 1,218 lines |
- Welcome
- *******
-
- Welcome to LAPLACE V0.7 (Evaluation version). This manual describes
- the installation and usage of the LAPLACE program. The last update
- was on 17.9.1996.
-
- LAPLACE is MAILWARE!! Send me an e-mail or a postcard, if you like
- it!! Please look at Copyright for more information.
-
- Introduction
- ************
-
- About
- =====
-
- LAPLACE is (or at least should be) an universal tool for
- mathematical calculations. It lacks such a GUI with hundreds of
- windows like those other progs I've found on AMIGA. Instead it works
- like a shell, you enter a command and get the result displayed, which
- is much more flexible.
-
- I started programming LAPLACE, because I was looking for a program
- for handling matrices, what I needed for my studies. First all programs
- I found were only able to handle floatpoints, but especially in matrix
- calculations this leads quite fast to large errors. So I made a simple
- prog that handled fractions instead of floatpoints. After that I needed
- something to handle parameters in matrices, and so I started totally
- rewrote LAPLACE. This is the result.
-
- Copyright
- =========
-
- (C)1996 by A VISION OF PARADISE
-
- This is only an evaluation version of LAPLACE. I plan to make it
- SHAREWARE, when it reaches a reasonable state. For know LAPLACE is
- MAILWARE. This means that you should send me a short e-mail or a
- postcard, if you can't use the Internet. This way I will know, whether
- there is a demand for my program and it does NOT mean anything like
- registrating to LAPLACE or like wise. If there should be a SHAREWARE
- version, you'll have to pay it (if you want ;-)
-
- You are not allowed to take money for distributing LAPLACE, except
- for Urban Mueller and his AMINET CD-collection.
-
- You may distribute LAPLACE only as the original archive
- (Laplace.lha), which can be found in the AMINET in
- misc/math/Laplace.lha.
-
- You are not allowed to distribute modified versions of LAPLACE.
- You may use modified version for your own, but I take absolutelly NO
- responsilibity for anything in this case (I even hard for ME to
- understand, what's happening inside of LAPLACE, so it's quite likely
- that you won't understand it at all ;-)
-
- Use it on your own risk. If you plan to build a nuclear plant, I take
- absolutely NO responsibility for uncontrolled chain reaction caused by
- false calculations!!!
-
- I used the following tools to create LAPLACE:
-
- * MUI V3.3 by Stefan Stuntz (see also Docs/Readme.mui).
-
- * DICE V2.07 by Matthew Dillon.
-
- * ENFORCER V37 by Michael Sinz.
-
- * GOLDED V3.1.4 by Dietmar Eilert.
-
- * REVUP V1.3 by Boris Folgmann.
-
- * FLEXCAT V1.3 by Jochen Wiedmann.
-
- * MAKEGUIDE V1.54 by Reinhard Spisser and Sebastiano Vigna.
-
- * MUCHMORE V4.1 by Fiedtjof Siebert and Christian Stiens.
-
- Registration
- ============
-
- Since LAPLACE is currently FREEWARE, there's no need to register.
- But you may send comments, bug report, flames etc. of course.
-
- Address
- =======
-
- This master piece of programming arts was done by
-
- P!\K of /|_ __ . /\ |\__: /|____ /\__:__/\ .
- / | \ :/ \ | |/ \/ | \ :
- _/ | \_| \ \| _/ |\ \___ ___/ |
- \ | | \ \ \ |/ / \ |
- \ _________|____\ _/\ ______/\ __|__ / :
- \| : \/ \| \/ · \/ .
-
-
- s-mail:
-
- Benjamin Stegemann
-
- Rohrbacher Str. 66
-
- 69115 Heidelberg
-
- Germany
-
- e-mail:
-
- bstegema@ix.urz.uni-heidelberg.de
-
- bstegema@urz-mail.urz.uni-heidelberg.de
-
- WWW:
-
- http://www.rzuser.uni-heidelberg.de/~bstegema
-
- Actual versions of LAPLACE can be found in the AMINET directory
- misc/math/.
-
- If you are interested in other programs I've done so far, look at
- these:
-
- * ShuffleRun - Funny arcarde game for two or more players,
- including tournament mode.
-
- * Writer - Creates totally stupid texts, based on any ASCII input.
- Even greatest literature will be shamelessly blown up!!
-
- * TreeGrow - Create fractal tree images.
-
- * GED_Syntax - LaTeX and Texinfo Syntax parser for GoldED4. Can be
- found at
-
- * GED_Syntax - LaTeX and Texinfo Syntax parser for GoldED4.
-
- These progs are not available on AMINET, sorry, but it's quite old
- stuff..
- Oh, almost forgot it, they are published on Fish disks, wait a moment,
- I will see which ones..
- Jo, back again, it's 814 (TreeGrow), 815 (ShuffleRun) and 818
- (TankHunter). Writer is (or was) available on BBS.
- If you are really interested, send me a mail.
-
- * GED_Syntax - LaTeX and Texinfo Syntax parser for GoldED4. Can be
- found at text/edit/GED_Syntax.lha.
-
- * PGP_GED4 - PGP for GoldED4. Just a modified ARexx script by Lunz
- O. Wolfgang. Can be found at text/edit/PGP_GED4.lha.
-
- Greets
- ======
-
- Thanks must go to (in alphabetical order):
-
- Lauri Aalto (support), Anders Bakkevold (Amiga Translators'
- Organisation), Volker Barthelmann (support), Lars Bischoff
- (support), Michael Bock (support), Dirk Burkamp (support),
- Christoph Dahlen (support), Matthew Dillon (DICE), Walter
- Dörwald (icons), Dietmar Eilert (GOLDED), Mattias p. Eriksson
- (icons), Boris Folgmann (REVUP), Grazgur (support), Michael 'Mick'
- Hohmann (icons), Martin Huttenloher (icons), Mario Kemper
- (support), Lars Malmborg (support) Konstantinos Margaritis
- (support), Andreas Mayer (support) Frederik Orinius (support),
- Sotirios Pappas (support) Christoph Rickers (support), Thomas
- Schraitle (support), Fiedtjof Siebert (MUCHMORE), Michael Sinz
- (ENFORCER), Reinhard Spisser (MAKEGUIDE), Christian Stiens
- (MUCHMORE), Stefan Stuntz (MUI), Tracer, Ken Tyler (support),
- Sebastiano Vigna (MAKEGUIDE), Jochen Wiedmann (FLEXCAT)
-
- And all other folks around this crazy planet, who support the
- AMIGA!!!!
-
- P!\K of /|_ __ . /\ |\__: /|____ /\__:__/\ .
- / | \ :/ \ | |/ \/ | \ :
- _/ | \_| \ \| _/ |\ \___ ___/ |
- \ | | \ \ \ |/ / \ |
- \ _________|____\ _/\ ______/\ __|__ / :
- \| : \/ \| \/ · \/ .
-
- Getting started
- ***************
-
- Requirements
- ============
-
- * 68020 CPU or better.
-
- * OS3.0 (V38) or better.
-
- * MUI3.3 (see also Docs/Readme.mui).
-
- * and a FAAAAAST AMIGA...
-
- Installation
- ============
-
- Since LAPLACE is still under development, I didn't write an
- installer script ;-)
-
- But, don't be afraid, installing is really easy!! Just drag the
- whole LAPLACE directory to any place you like, no libs, fonts,
- catalogs to install. Even an assign isn't needed anymore.
-
- You may add the assign Laplace: to the LAPLACE directory, then
- this assign will be uses as PROGDIR:, but this is currently not very
- useful at all (except for me, as I need this to find all files when
- debugging...).
-
- Tooltypes
- =========
-
- You may enter some tooltypes to the icon of LAPLACE. To do this,
- select the icon on the workbench and choose Icons/Information from
- the workbench menu. Then modify the list of tooltypes using the (quite
- bad) edit functions.
-
- Tooltypes are supplied using this format:
-
- 1. KEYWORD
- 2. KEYWORD=value
-
- Syntax 1 is for tooltypes marked as switch. The descripted action
- is performed, if this keyword is found. To disable it, simple set the
- keyword in brackets.
-
- Tooltypes marked as string use syntax 2.
-
- Unknown keyword will be ignored, syntax is caseinsensitive.
-
- Supported tooltypes are :
-
- AREXXONLY
- (switch)
- If specified LAPLACE won't open a window on startup, but starts
- iconified; only an application icon will be shown on the
- workbench. The first window is opened when doubleclicking on the
- application icon or uniconifying LAPLACE on another way. This is
- useful, if you want don't want to use LAPLACE directly, but only
- through it's ARexx port.
-
- QUIETEXIT
- (switch)
- If specified LAPLACE will not complain about forgotten objects.
-
- AUTOLOAD
- (string)
- Here you can specify a file to be loaded everytime LAPLACE
- starts. I needed this mainly for testing...
-
- PREFS
- (string)
- Specify a path for the preferences file to be used instead of
- PROGDIR:Laplace.prefs.
-
- Usage
- *****
-
- Working with Laplace
- ====================
-
- LAPLACE works much like a shell, you enter an expression, press
- return and LAPLACE gives you the result (after some time;-). See
- Editing or Menus for more about text editing width LAPLACE.
-
- LAPLACE's processing is based on objects. You can define new
- objects and reference them later. Have a look at Expressions and
- Definitions.
-
- When a new window is opened, LAPLACE will do several things to
- setup the environment:
-
- * load options from Presets/Default.opts.
-
- * load F-keys from Presets/Default.fkey.
-
- * execute the command include(Init.lh). You may modify all these
- files, to adjust the environment to your needs. See also Presets or
- Libraries.
-
- To load and save sessions, see Project.
-
- Editing expressions
- ===================
-
- Well, I think the basic edit functions are now available.
-
- Clipboard is supported, but currently only whole lines can be
- cutted, copied and pasted.
-
- Insert line inserts a line before the current line; to insert
- a line at the end, just press <return> in the last line. Double
- clicking on a line, works just line pressing return.
-
- Here are the keys that you can use for editing :
-
- backspace
- del
- left
- right
- up
- down
- guess what..
-
- shift left
- shift right
- advance one word
-
- alt left
- goto beginning of line
-
- alt right
- goto end of line
-
- alt up
- goto first line
-
- alt down
- goto last line
-
- ctrl up
- move one item up in history
-
- ctrl down
- move one item down in history
-
- ctrl-shift up
- move to first item in history
-
- ctrl-shift down
- move to last item in history
-
- esc
- undo changes in current line. This work only, as long as you don't
- leave the line.
-
- return
- evaluate the current line and advance to the next line.
-
- shift return
- evaluate the current line and insert a new line after it.
-
- alt return
- split the current line at the cursor position and insert a new
- line after it.
-
- shift backspace
- erase current line from cursor position to the beginning of the
- line.
-
- shift del
- erase current line from cursor position to the end of the line.
-
- alt backspace
- clear the current line.
-
- alt del
- clear the result of the current line.
-
- ctrl tab
- pop up a list of all available objectes of the current context.
- Select an entry and it will be inserted at the current cursor
- position.
-
- alt tab
- pop up a list of all available functions
-
- Fn
- shift Fn
- insert the string linked to a F-key
-
- Menus
- =====
-
- Project
- About
- ;-)
-
- About MUI
- about MUI, what else
-
- New window
- Open a new, blank window
-
- Clear
- Clears the current window
-
- Load..
- Open a project file
-
- Quickload
- Fast access to some project files. Use
- Project/Preferences to modifiy the list.
-
- Save
- Save a project file. Use the current path or select a new
-
- Save as..
- Save a project file. Select a new path
-
- Delete..
- Delete project files. They will be lost forever!
-
- Preferences..
- Opens the preferences window, see below for more information,
-
- MUI Prefs
- Open MUI preferences window
-
- Quit
- NOOOOOOOO :-O
-
- Edit
- Cut
- Copy
- Paste
- Insert line
- Remove line
- see Editing
-
- Windows
- Debug
- Opens the debug window with a list of all debug strings.
-
- Options
- Edit...
- Here you specifiy the default values for dynamic options (see
- Options for a full description) and the strings that are
- connected to the F-keys.
-
- The defined strings will be inserted into the current line,
- if you you hit an F-key. There are some special code that can
- be inserted into the string. They are introduced with a
- %. If a % should be inserted, you have to enter
- %%. Possible codes are:
-
- %l
- move the cursor one step to the left.
-
- %(l n)
- move the cursor n steps to the left.
-
- %r
- move the cursor one step to the right.
-
- %(r n)
- move the cursor n steps to the right.
-
- %(run command)
- execute the given shell command.
-
- The options and F-keys are saved in each project file, but
- they can explicitly be loaded and saved to preset files.
-
- Load...
- Load options or F-keys from a preset file. You can also
- select a project file. In this case the options/F-keys will
- be extracted from the project.
-
- Save...
- Save options or F-keys to a preset file.
-
- ARexx
- A list of ARexx macros. Use Project/Preferences to modify it.
-
- Help
- Index
- Loads this file, displaying the main page.
-
- Functions
- Loads the file Docs/../Functions, displaying a menu of all
- functions.
-
- Rexx
- Loads the file Docs/../ARexx, which describes the usage of
- the ARexx port.
-
- Search...
- Opens a window, where you can specify a keyword to search
- for. If the keyword is found the file will be opened on the
- correct page. Note that the text window runs asyncron, which
- means that you can leave the window opened while working.
- You don't even have to close the window to continue the
- search. Just bring the 'Searching...' window to front, select
- 'Continue' and the next page containing the keyword will be
- loaded into the textwindow.
-
- Preferences
- -----------
-
- bla bla bla...
-
- Projects
- ========
-
- LAPLACE saves project files as plain ASCII files, you may edit
- them with any standart text\-editor. Projects are usually placed in the
- Projects directory.
-
- All options (see Menus) and the F-key definitions are save in the
- project file, the same format as in preset files is used.
-
- Presets
- =======
-
- Options are saved as plain ASCII files, and are usually stored in the
- Presets directory. The can be edited by any standart texteditor.
-
- The line format is quite simple: a line starts with an # followed
- by a keyword, a = and the value for this option. You must not insert
- any spaces, except otherwise stated below. E.g.
- #USEFLOAT=TRUE
- #ERRBND=12
-
- Options
- -------
-
- Options (marked with a x in Menus) are saved in files ending with
- .opts. The keywords are:
-
- #USEFLOAT
- set to TRUE or FALSE
-
- #SIMPLIFY
- set to TRUE or FALSE
-
- #ERRBND
- an integer value between 1 and 32
-
- #EXPDSP
- an integer value between 1 and 12
-
- #PREC
- an integer value between 0 and 15
-
- F-keys
- ------
-
- The F-key definitions are saved in files ending with .fkey. The
- keyword is followed by the string for the key, the whole rest of the
- line is used, including all spaces.
-
- #F1 ... #F10
- normal F-keys 1..10
-
- #F11 ... #F20
- shifted F-keys 1..10
-
- Expressions
- ===========
-
- Expressions are entered in a usual manner, e.g.
- 1+2/3*(4-2) <return>
-
- Guess what's the result...
-
- More formally, an correct expression is:
-
- * object (Types) or
-
- * reference (Definitions) or
-
- * function (Functions/Functions) or
-
- * expression list (see below) or
-
- * expression binary_operator expression
-
- * unary_operator expression
-
- Binary operators are:
-
- +, -, *, /, ^
- you should know these...
-
- ×
- vector product. This is not an usual x, but can be reached by
- alt-x!
-
- ||
- boolean or
-
- &&
- boolean and
-
- ==, !=, >, <, <=, >=
- comparison
-
- The only unary operator is:
-
- !
- boolean negation
-
- You may enter several expression at once, seperated by commas, e.g.
- 1+2,2/4,12+10 <return>
- The results will be displayed seperated by lines.
-
- Expression List
- ---------------
-
- An expression list is an list of expression seperated by commas
- embedded in {} brackets or supplied to the do() command.
-
- All expressions will be evaluated, but only the last result will be
- used. The result of the list will be this last result. This makes only
- sense with functions like debug(). E.g.
- sin({debug("Hello world!"), pi/2}) <return>
-
- Types and objects
- =================
-
- LAPLACE supports currently six types of objects : Number,
- Boolean, Vector, Matrix, Equation and Sets.
-
- Usually LAPLACE determines the type of an object when it is
- created. If you declare a constant object, you have to specify the type
- it should have. To do so, you use the const() function with
- identifiers of the format name:type. This will create a new object
- with the specified name and type. Allowed types are
-
- n, number
- number object (default, if you don't give a type)
-
- v, vec, vector
- vector object of any dimension
-
- v[d], vec[d], vector[d]
- vector object of dimension d
-
- m, mat, matrix
- matrix object of any size
-
- m[r,c], mat[r,c], matrix[r,c]
- matrix object with r rows and c columns
-
- For example:
- const(a:vec[3])
- [1,2,3;4,5,6;7,8,9] * a
-
- Number
- ------
-
- These are just numbers as well all know them (or do we know them
- all?!).
-
- Numbers can be entered in exponential style, which is
- {+/-/<nothing>}ddddd[.ddddd][e{+/-/<nothing>}dddd].
- Ufff, but it's quite easy;-) to enter e.g. 6.626 * 10^(-34) write
- 6.626e-34. The (whole) number after e is just the exponent. Don't
- use brackets, if the exponent is negative!
-
- LAPLACE supports complex numbers. To enter a complex number,
- simply write something like a + b*i. But they are not fully
- implemented, e.g. errordistribution is lost when you have complex
- value in your expression and not all functions work now with complex
- arguments.
-
- As long as you enter only whole numbers, LAPLACE tries to use
- fractions, so enter 1/2 instead of 0.5 (in this simple case
- LAPLACE converts 0.5 to 1/2 itself, but this may not always
- work). This way you can enter things like 1/7 exactly, and you won't
- get result which are almost exact zero, when it should be exact ;-)
-
- A fantastic new feature of LAPLACE is the direct support of
- Gaussian errordistribution. Now it is possible to enter values with
- their standart error, do what ever calculations you have to do, and
- then get the result with the correct error value! This is very useful,
- if you are calculating with result of some measurements, like I did
- during my physical practial.
-
- For example, you want to measure the earth accelaration by measuring
- the falling time of a ball. You measured the falling height to 1.119
- meters with a precision of one millimeter and the time to 0.50 seconds
- with a precision of 1/50 second. Now simply enter:
- t=0.50±0.02
- h=1.119±0.001
- g=2*s/h^2
- and that's all!! (Next time you should do it more precisely..)
-
- The ± can be entered by alt-y (on the german keyboard) or
- alt-z (on others).
-
- But you should be aware, that in some cases you might get wrong
- result, because 10±1 * 10±1 is not the same as 10±1 ^ 2. So, if
- the same value is used at different places in a formula, it is
- evaluated as if they had indepented error ranges!
-
- The best way to avoid this is declaring all values with errors as
- parameters, construct you (possibly big) formula and simplify it, so
- that every parameter occures only a single time, e.g.:
- x := 10±1
- y := 12±2
- a = 3*x^2*y^3
- b = 5*x^3*y^2
- result = a/b
- eval(result)
-
- If you on the other hand have something like this:
- x := 10±1
- result = x/(x+1)
- you'll get a wrong error value and there is no way to avoid it,
- sorry.
-
- Boolean
- -------
-
- A boolean object can only contain the two values TRUE and
- FALSE.
-
- Possible operation for boolean objects are: && (and), || (or) and
- ! (not).
-
- a=TRUE
- b=FALSE
- c=TRUE
- a && (b || !c)
-
- Vector
- ------
-
- A vector is a tupel of numbers. To create a vector (2,4,1) enter
- [2,4,1]. Any expression can be (of course) a component of a vector.
-
- You can add and multiply (scalar) two vectors, or multiply a
- number or matrix with a vector (in this order, not vector *
- number!). You get the vector product of two 3-dimensional vector by
- typing vector × vector. The × is not an ordinary x, but can be
- entered by alt-x (on the german keyboard and probably all others,
- too).
-
- Matrix
- ------
-
- A matrix is something like a 2-dimensional vector.. (if you don't
- know what's this, you probably won't need them ;-) A matrix with the
- columnvectors (1,2,3), (4,5,6) and (7,8,9) can be created with
- [1,2,3;4,5,6;7,8,9]. If you have rowvector in mind, use
- [1,4,7;2,5,8;3,6,9]~ instead (append a 'tilde').
-
- You can add and multiply two matrices, or multiply a number and a
- matrix (in this order, not matrix * number!).
-
- Equation
- --------
-
- To create a equation use the eq() command.
-
- You can of cource calculate with equations. The operations will be
- applied on both side of the equation. You can add or multiply two
- equations. If you add or multiply a number, vector or matrix to
- an equation, the equation has to be on the left side, e.g.
- a=eq(2*x+4,0) <return>
- a=a-4 <return>
- a=a/2 <return>
-
- You can also apply functions line sin(), exp()... on equations,
- e.g.
- a=eq(ln(x),12*e) <return>
- a=exp(a) <return>
-
- Set
- ---
-
- To create a set use the set() command.
-
- A set is a set (?!?) of objects of the same type. Currently there
- are some statistic functions that can be applied to sets.
-
- If you calculate with sets, all operations (exept those affecting
- the set directly) are applied to all elements of the set, e.g.
- s=set(1,2,3) <return>
- s+2 <return>
- This will return the set {3,4,5}
-
- Definitions
- ===========
-
- If you want to use an result later or just define a variable, write
- name = expression. This creates an objects that can be referenced by
- it's name in later(!) lines. If you reference to an object,
- LAPLACE searches from the actual line back, so you may define an
- object several times, but only the latest version is used. E.g.
- [1] a=1/2 <return>
- [2] 2*a <return>
- => gets 'a' from [1]
- [3] a=a+1 <return>
- => 'a' on the right side references to the definition in [1]
- => and creates a new object called 'a' to be referenced below
- [4] a <return>
- => gets 'a' from [3]
-
- If you move back to [2], you still get the same result, because the
- new a is defined below and cannot be reference from [2].
-
- If LAPLACE encounters a object name, that was not defined earlier,
- an constant will be automatically created:
- f(x) = x^2 <return>
- f(a) <return>
- => a^2
- This is the same as
- f(x) = x^2 <return>
- const(a) <return>
- f(a) <return>
- => a^2
-
- This work only for number constants. If you require e.g. a constant
- vector object, you have to use const() to declare it.
-
- Generally you should always declare constants with const(),
- otherwise you are in danger that the reference has already been defined
- (e.g. in a library file) and you get an type error, look at this:
- a=[1,2]
- ....
- [thousand of lines...]
- ....
- f(x)=x^2
- f(a)
- error--> Not defined to vectors.
-
- Conventions
- -----------
-
- There are some special conventions for object names. Valid
- characters are A..Z Ö Ä Ü a..z ö ä ü 0..9 @ § $ ' ~ _. You may
- not use a number as the first character.
-
- There are two special characters which may be used: ~ (tilde) and
- _ (underscore). _ as the first character will create a line above
- the name, which is often used in mathematics. Inside the name _ will
- create an index, character after _ will be used as the index at the
- bottom of the name. ~ work similar, but creates an index at the
- Usage. You can use both indexes. E.g. _a, a_1, a~1 or everything
- at once _a~2_1.
-
- Starting with version 0.3 LAPLACE support the usage of greek
- symbols. If the name or an index matches the name of a greek letter,
- then this letter is used to display the variable. Number may follow the
- letter name. E.g. alpha1_beta. A name in lower case represents a
- small greek letter; if the first character of the name is uppercase,
- then you get an big greek letter. All supported names are :
-
- alpha, beta, gamma, delta, epsilon, zeta, eta,
- theta, jota, kappa, lambda, my, ny, xi, omikron,
- pi, rho, sigma, tau, ypsilon, phi, chi, psi,
- omega, Alpha, Beta, Gamma, Delta, Epsilon, Zeta,
- Eta, Theta, Jota, Kappa, Lambda, My, Ny, Xi,
- Omikron, Pi, Rho, Sigma, Tau, Ypsilon, Phi, Chi,
- Psi, Omega
-
- Definition types
- ----------------
-
- There are three difference kinds of definitions : variables,
- parameters and constants.
-
- Variables
- .........
-
- When you reference a variable, it's contents will be inserted.
- Variable are defined using name = expression. E.g.
- a=3 <return>
- a+1 <return>
- => 4
-
- Parameters
- ..........
-
- A reference to a parameter will not be evaluated, it will remain
- in the result. Use name := expression to create a parameter. If you
- want to get the final result use the eval() function. E.g.
- a:=3 <return>
- 2*(a+2) <return>
- => 2*a+4
- eval(2*(a+2)) <return>
- => 10
-
- Constants
- .........
-
- Constants have no value, so they won't be evaluate, even with
- the eval() function. They are defined using the const() function.
- E.g.
- const(a) <return>
- 2*(a+2) <return>
- => 2*a+4
- eval(2*(a+2)) <return>
- => 2*a+4
-
- Functions
- .........
-
- You can also define functions. Just enter a argument list embedded
- in bracket after the object name, e.g.
- f(x):=x^3 <return>
-
- The arguments will be handled like constants in the function
- expression. If you want to use other object type than numbers, you have
- to specify the type in the parameter list, the format is line in
- const().
-
- When referencing a function you have to specify the arguments to be
- inserted into the function's expression, e.g.
- f(3) <return>
- => 27
- const(a) <return>
- f(a+1) <return>
- => (a+1)^3
-
- It is also possible to omit the arguments; if you do so,
- LAPLACE will insert the arguments as they were defined, e.g.
- f(x,y) = x^2 + y^2 <return>
- f'(x,y) = diff(f(x,y),x) <return>
- f'(x,y) = diff(f,x) <return>
- Note that the last two lines are the same, because f will be
- expanded to f(x,y).
-
- Libraries
- =========
-
- LAPLACE offers the ability to process external files. These files
- are plain ASCII files and may be edited with every texteditor. These
- files will be processed, just as if each line would be entered, blank
- lines and lines with leading ; will be ignored. The results won't be
- displayed, so this is only useful for constant and function
- definitions. Library files have a trailing .lh and are located in the
- Include directory. Use the include() command to gain access to a
- library.
-
- Some basic files are included:
-
- Init.lh
- This file will always processed, when a new window is opened.
-
- InitARexx.lh
- This file will be processed during the initialization of the
- ARexx-port.
-
- math.lh
- Some useful mathmatical definition.
-
- physic.lh
- Some useful physical definition.
-
- If you want a library to be available on startup add a line
- include(libname.lh) to the file Include/Init.lh, which is
- always processed on startup.
-
- Options
- =======
-
- There are some options to influence to calculation or presentation
- of expression. They are marked with a $ (dollar sign) following a
- keyword, a = and the new value.
-
- As always, LAPLACE searches backwards until it finds an option,
- this way setting an option will not influence the lines above. If not
- explicit assignment has been done, the default value is used. To modify
- these defaults, use the menu item Options/Edit....
-
- These are the keyword:
-
- $usefloat
- Possible value: TRUE, FALSE. If set to TRUE, LAPLACE will
- always use floatpoints and never converts them to fractions.
-
- $useerror
- Possible value: TRUE, FALSE. If set to FALSE, LAPLACE will
- not use and display error ranges.
-
- $simplify
- Possible value: TRUE, FALSE. Enable/Disable simplification
- pass. Without simplification, the calculation will be faster, but
- the result might look quite ugly.
-
- $dispprec
- Possible value: 1..15. Select maximum number of decimal digits
- to be displayed.
-
- $dispexp
- Possible value: 1..12. Select number of digits to be displayed
- before switching to exponential display.
-
- $convprec
- Possible value: 1..32. LAPLACE tries to convert floatpoints
- into fractions whenever possible. But the floatpoint routines are
- not too exact, so there might be an small difference to the
- correct value (e.g. 1.2000000000000001 when it should be 1.2). If
- the difference is smaller than the specified precision (precision
- 12 means 10^(-12)), LAPLACE assumes the value as a fraction and
- converts it (in this case to 6/5). This is not applied to value
- near zero, so 1e-30 won't be converted to 0.
-
- For example:
- $usefloat=FALSE
- sin(2) => sin(2)
- $usefloat=TRUE
- $dispprec=5
- sin(2) => 0.9093
- $dispprec=8
- sin(2) => 0.90929743
- a=12000.3
- $dispexp=3
- a => 1.20003*10^4
- $dispexp=6
- a => 12000.3
-
- Online help
- ===========
-
- To get a short description of a function, you can enter
- ?functionname, e.g.
- ?const
- => const(name1[:type],name2[:type],...) : create constant objects
-
- To get a full description use ??functionname.
-
- You can also use ??intro as an entrypoint to the complete online
- documentation.
-
- To do
- *****
-
- As I said before, this is only an evaluation version, so there are
- quiet a lot of things left to do, before I release LAPLACE as
- SHAREWARE. If you have any suggestions, you are invited to send me a
- note!!
-
- Here is a list of some major things:
-
- * editing is not very comfortable now, improve it (history, block
- editing..)
-
- * use CGFonts for output
-
- * function plotting, perhaps internal or external using ARexx (seems
- that Graph2D needs a better ARexx port..)
-
- * export expressions as TeX,...
-
- * calculate integrals (do you REALLY believe, I manage this...)
-
- * the greek font is rendered by IntelliFont and doesn't look very
- pretty (does any have a designed one??)
-
- * use integers of arbitary length
-
- * OS independet kernel and different portations
-
- * rewrite the parser, offering things like procedures, for,
- while, if statements, enter complex numbers as e.g.
- 2i, etc.
-
- * a whole bunch of small improvementes...
-
- Known bugs
- **********
-
- If you find a bug, not documented feature etc. don't hesitate, TELL
- ME.
-
- Here are those nasty things I know, but didn't manage to remove 'em
- (for now):
-
- * my MUI-CustomClass 'eats' all keyboard input, disabling the tab-key
- and button shortcuts.. Currently there is only a workaround for
- the tab-key, but things are still quite ugly...
-
- * you get sometimes problems with object names ending with an 'e',
- try m_e+pi (no spaces!!). m_e + pi (with spaces!!) works...
-
- * I'm using the mathieeedoub*.library for floatpoint processing.
- Seems that it's not too precise; 0.4 * 5.0 is 2 ± 1e-16!!
- When trying to convert floats into fraction, LAPLACE ignore
- differences smaller than 1e-15...
-
- * Taylor approximation crashes, if you try to evaluate at an a,
- where the function is not defined, e.g. taylor( (ln(x))(x), 0, 2
- ).
-
- * Support for complex numbers is not fully implemented. And that's
- what already done is quite crappy ;-) Try something like i^2 and
- you see what I mean...
-
- * ARexx port is currently not working, and the docs for it are
- neither converted to Texinfo nor translated to german.
-
- * Things like constant operator set and constant operator
- equation don't work. This is not a real bug, but a conceptual
- problem of LAPLACE. To change it some internal changes have to
- be done that are not insignificant!
-
- * It is reported, that the amigaguide.datatype V40 has problems
- with some parts of the AmigaGuide-manual (the german
- Anleitung cannot be loaded). This doesn't happen with V39.
- Has anyone the same problem and knows the reason and/or a solution?
-
- Competitors
- ***********
-
- There are many other math programs for different operating systems,
- but I will only look at those available for AMIGA. Well most of them are
- quite professional projects, with lots of studied coders and
- mathematicians behind, so I cannot compete with them. But just have a
- look at them.
-
- MAPLEV
- ======
-
- Well, what to say about it? I didn't see the AMIGA version, but I
- know the UN*X version, and I think there are not many differences, at
- least I think the mathematical functionality is the same.
-
- MapleV does almost everythink for you, you can think of. Integrals,
- differential equations, eigenvectors, function plotting etc. If there
- would not be a small problem, I would have never written LAPLACE: the
- price. DM1500.- is a lot of money, which I cannot afford. This was
- probably the main reason to create LAPLACE. Although there is a
- cheaper student version for AMIGA systems, I will continue my work,
- 'cause it's too much work to be wasted! If the price is not a problem
- for you, don't hesitate to erase LAPLACE from your harddisk.
-
- PARI
- ====
-
- PARI is a freeware project of the university of Bordeaux, France. It
- lack a graphical user interface, but offers some interesting features.
- The biggest advantage is: it's really fast! PARI's best sides are
- algebraic calculus, polynomials and power series. On the other side, it
- is not able to integrate functions other than polynomials. For
- transcendential functions a taylor expansion will be integrated, which
- is at least a good approximation, but it just gives up on broken
- rational functions. It has a simple function plotter and basic online
- help, plus a 500k dvi-manual.
-
- PARI is available on AMINET, in misc/math/gpamiga_1_38_3.lha
- (binary) and
- misc/math/pari_1_38_3.lha (source and docs). Other versions are
- available at
- megrez.ceremab.u-bordeaux.fr (147.210.16.17) and
- math.ucla.edu (FTP). You can contact the authors via e-mail at
- pari@ceremab.u-bordeaux.fr.
-
- MuPAD
- =====
-
- MuPAD is also free project of the university of Paderborn, Germany.
- The AMIGA version is still an alpha release and lacks a graphical user
- interface. It requires an FPU (which I don't own), so I wasn't able to
- test it. There might be an UN*X version that I can test.
-
- You can find MuPAD at math-ftp.uni-paderborn.de/pub/MuPAD/ (FTP)
- and
- http://math-www.uni-paderborn.de/MuPAD/ (WWW).
-
- Biography
- *********
-
- Not available now...
-
- Index
- *****
-
-
-
- MAPLEV Competitors
- PARI Competitors
- About About
- Address Address
- binary operators Expressions
- Boolean Bool
- Bugs KnownBugs
- Competitors Competitors
- complex numbers Number
- Constants Definitions
- Copyright Copyright
- Definitions Definitions
- Editing Editing
- Equation Equation
- errordistribution Number
- Expression list Expressions
- Expressions Expressions
- F-keys Menus
- F-keys Presets
- Functions Definitions
- General usage GeneralUsage
- Getting started Getting started
- Greets Greets
- Grek letters Definitions
- Installation Installation
- Introduction Introduction
- Known bugs KnownBugs
- Laplace, P. S. Marquis de Biography
- Libraries Libraries
- Matrix Matrix
- Menus Menus
- MuPAD Competitors
- Name conventions Definitions
- Number Number
- Objects Types
- Online help OnlineHelp
- operators Expressions
- Options Options
- Parameters Definitions
- Presets Presets
- Project Project
- Registration Registration
- Requirements Requirements
- Set Set
- To do ToDo
- Tooltypes Tooltypes
- Types Types
- unary operators Expressions
- Usage Usage
- Usage GeneralUsage
- Variables Definitions
- Vector Vector
-
-